package systemInit

// MysqlConfig	MySql数据库配置信息, 配置文件中 mysql 子树对应的结构体
type MysqlConfig struct {
	Host 				string 	`mapstructure:"host"`// mysql 服务器 ip
	Port 				int	   	`mapstructure:"port"`// mysql 端口
	UserName 			string  `mapstructure:"user_name"`// 登录用户名称
	Password 			string  `mapstructure:"password"`// 用户密码
	DatabaseName 		string 	`mapstructure:"database_name"`// 数据库名称
	MaxOpenConnections 	int	   	`mapstructure:"max_open_connections"`// 数据库连接池最大连接数,可以避免并发太高导致连接mysql出现too many connections的错误
	MaxIdleConnections  int    	`mapstructure:"max_idle_connections""`// 连接池最大允许的空闲连接数
	ConnectMaxLifeTime  int    	`mapstructure:"connection_max_life_time"`// 最大连接超时
}

//RedisConfig redis数据库配置信息, 配置文件中 redis 子树对应的结构体
type RedisConfig struct {
	Addr 				string	`mapstructure:"addr"`
	Password 			string  `mapstructure:"password"`
	Db					int 	`mapstructure:"db"`
	PoolSize 			int 	`mapstructure:"pool_size"`
	MinIdleConn			int 	`mapstructure:"min_idle_conn"`
}
type ApplicationConfig struct {
	MysqlConfig MysqlConfig 	`mapstructure:"mysql"`// mysql配置信息
	RedisConfig RedisConfig		`mapstructure:"redis"`// redis配置信息
}
